package app

import (
	"zin/framework"
	"zin/framework/contract"
)

// ProviderApp 提供App的具体实现方法
type ProviderApp struct {
	BaseFolder string
}

// Register 注册HadeApp方法
func (h *ProviderApp) Register(container framework.Container) framework.NewInstance {
	return NewProviderServiceApp
}

// Boot 启动调用
func (h *ProviderApp) Boot(container framework.Container) error {
	return nil
}

// IsDefer 是否延迟初始化
func (h *ProviderApp) IsDefer() bool {
	return false
}

// Params 获取初始化参数
func (h *ProviderApp) Params(params map[string]interface{}) map[string]interface{} {
	params["baseFolder"] = h.BaseFolder
	return params
}

// Name 获取字符串凭证
func (h *ProviderApp) Name() string {
	return contract.ProviderKeyApp
}
